﻿using System;
using System.ServiceModel;
using VideoStore.Common.Response;
using Warehouse.Services.Dto;

namespace Warehouse.Services.Interface
{
    [ServiceContract(Namespace = "Warehouse.Services.DeliveryService")]
    public interface IDeliveryService
    {
        /// <summary>
        /// Creates the delivery.
        /// </summary>
        /// <param name="newDelivery">The new delivery.</param>
        /// <returns></returns>
        [OperationContract]
        [TransactionFlow(TransactionFlowOption.Allowed)]
        Response<DeliveryDto> CreateDelivery(DeliveryDto newDelivery);

        /// <summary>
        /// Gets the delivery by id.
        /// </summary>
        /// <param name="deliveryId">The delivery id.</param>
        /// <returns></returns>
        [OperationContract]
        Response<DeliveryDto> GetDeliveryById(Guid deliveryId);
    }
}